Boutons intelligents
Contrôles/éléments XML
Boucles <ForEach>
Une boucle est une séquence d’instructions qui est spécifiée une fois, mais qui peut être exécutée plusieurs fois de suite.
Le code « à l’intérieur » de la boucle (le corps de la boucle est tout dans <élément Action>) est obéi soit :
-
Un nombre spécifié de fois (boucle For)
-
Une fois pour chacun d’une collection d’éléments (boucle ForEach)
Par exemple, vous pouvez avoir une collection de numéros de ligne téléphonique (2 ; 4; 5) et que vous souhaitez effectuer la même action (annuler) pour chaque ligne téléphonique.
Configuration
Il est recommandé de configurer à l’aide des champs du générateur XML de boucles. Toutefois, vous pouvez également configurer à l’aide de XML.
Configuration avec le générateur XML de boucles
Pour configurer avec l’éditeur de boucles :
-
Ouvrez l’éditeur de boutons intelligents pour créer un script.
-
Cliquez sur Boucles <ForEach> pour afficher le générateur XML de boucles.
-
Dans Type de boucle, sélectionnez l’une des options suivantes :
-
Pour chaque boucle
Instruction de flux de contrôle permettant de parcourir les éléments d’une collection. En d’autres termes, une boucle For Each dit essentiellement d’effectuer cet ensemble de code pour chaque élément de la collection, plutôt que d’effectuer cette fonction x fois.
Instructions
Pour compléter une boucle For Each :
-
Dans la liste Éléments, entrez la collection d’éléments.
-
Pour les valeurs statiques, délimitez chaque élément par un point-virgule.
Exemple : Pommes ; Bananes; Kiwi -
Pour les valeurs de variable, entrez le nom de la variable qui contient la collection. Entrez le nom de la variable entre crochets,
Par exemple : [TicketNumbers]
-
-
Dans Code d’action, entrez les éléments XML à exécuter pour chaque élément d’une collection (liste Éléments). Il peut s’agir d’un seul élément XML ou d’un ensemble de plusieurs éléments XML.
Symbole
Description
[@] Élément actuel dans la boucle
Par exemple:
<RunCommand>NP. Le numéro de ticket [@] a été annulé</RunCommand>[@Key] Partie clé de l’élément courant : la boucle in (si la collection source est une collection 'Value/Key').
[@Value] Valeur de l’élément en cours dans la boucle (si la collection source est une collection « Value/Key »).
Par exemple, si :
-
La collection de clés de valeur est la suivante : IBM**2389 ; VOXAT**2670000 ; FUJI**897 ; XERAB**9736888,
-
Vous souhaitez afficher un message uniquement avec le nom du client (partie Valeur de l’élément).
-
Saisissez le numéro de client dans une remarque ID (partie clé de l’élément).
Copier<Action>
<ShowMessage>Company name is [@Value]</ShowMessage>
<RunCommand>DI.FT-Customer number: [@Key]</RunCommand>
</Action> -
-
-
Boucle For
Instruction de flux de contrôle permettant de parcourir des éléments un nombre spécifique de fois. En d’autres termes, une boucle For dit essentiellement de faire cet ensemble de code x fois.
Instructions
Pour terminer une boucle For, entrez les attributs suivants.
Attribut
Description
Numéro de départ Le numéro pour commencer.
Vous pouvez également entrer une variable entre crochets. La valeur de la variable doit être un nombre.
Par exemple : [FirstAirSegmentNumber]
Numéro de fin Le nombre à terminer.
Vous pouvez également entrer une variable entre crochets. La valeur de la variable doit être un nombre.
Par exemple : [LastAirSegmentNumber]
Pas Numéro d’incrément.
Par exemple, entrez 2 pour itérer tous les deux éléments.
Vous pouvez également entrer une variable entre crochets. La valeur de la variable doit être un nombre. Par exemple : [PaxCount]
Code d’action Entrez les éléments XML à exécuter. Il peut y avoir un élément ou un ensemble de plusieurs éléments.
Pour utiliser la valeur de l’élément actuel, qui est le numéro d’itération actuel, utilisez le symbole [@] pour le numéro d’itération actuel dans la boucle.
-
Cliquez sur SOUMETTRE.
Configuration avec XML
Vous pouvez également saisir tous les fichiers XML associés directement dans l’éditeur de boutons intelligents.
Pourboire! Vous pouvez ajouter le code XML directement à l’éditeur en faisant glisser et en déposant le bouton bleu de ce contrôle.
ForEachLoop
Instruction de flux de contrôle permettant de parcourir les éléments d’une collection. En d’autres termes, une boucle For Each dit essentiellement d’effectuer cet ensemble de code pour chaque élément de la collection, plutôt que d’effectuer cette fonction x fois.
<ForEach ElementsList="">
<ElementsList>
</ElementsList>
<Action EasyMode="False">
</Action>
</ForEach>
Éléments
L’élément <ForEach> contient deux éléments enfants : <ElementsList> et <Action>.

<ForEach> n’a qu’un seul attribut, ElementsList. Utilisez @ElementsList lorsque la collection se trouve dans une variable. La liste @Elements ForEach peut ensuite être utilisée à la place de l’élément <ElementsList>. Par exemple:
<ForEach ElementsList="[TicketNumbers]">
<Action>
<ShowMessage>[@]</ShowMessage>
</Action>
</ForEach>

Si votre collection est un tableau de valeurs statiques, utilisez l’élément <ElementsList>. Par exemple:
<ForEach>
<ElementsList> 2374678;3279,2,7
</ElementsList>
<Action EasyMode="False">
<ShowMessage>[@]</ShowMessage>
</Action>
</ForEach>
Si la collection contient des caractères spécifiques au balisage XML, tels que les balises < et >, mais que vous souhaitez que les Smart Buttons interprètent ces caractères littéralement comme des données textuelles, utilisez une structure CDATA < ![ CDATA[ ...... ]]> pour contenir le texte.
Par exemple:
Si une collection contient des symboles Supérieur à < et Inférieur à > :
<1> ; 2xn2> ; 3; 654
Méthode incorrecte pour ajouter la collection :
Méthode correcte pour ajouter la collection :
<ForEach ElementsList="">
<ElementsList>
<![CDATA[<1>;<2>]]>
</ElementsList>
<ElementsList> can also be used for collection under Variable name for example,
<ForEach>
<ElementsList>[CustomerNumbers]</ElementsList>
<Action>
<ShowMessage>[@]</ShowMessage>
</Action>
</ForEach>

Entrez les éléments XML à exécuter pour chaque élément d’une collection (liste Éléments). Il peut s’agir d’un seul élément XML ou d’un ensemble de plusieurs éléments XML.
En tant que valeur de cet élément XML, entrez un ou plusieurs contrôles que vous souhaitez exécuter pour chaque boucle de <ForEach>. Si certains de vos contrôles ont besoin d’utiliser l’élément courant de la collection, dix, utilisez les symboles ci-dessous :
Symbole |
Description |
---|---|
[@] |
Élément actuel dans la boucle Par exemple: |
[@Key] |
Partie clé de l’élément courant : la boucle in (si la collection source est une collection 'Value/Key'). |
[@Value] |
Valeur de l’élément en cours dans la boucle (si la collection source est une collection « Value/Key »). Par exemple, si :
Copier
|
Exemples

Cet exemple :
-
Lit tous les billets non annulés à partir d’un écran *HTI.
-
Demande à l’agent quels billets annuler.
-
Pour tous les billets sélectionnés, effectuez la même action (annulation des billets).
<ButtonConf ButtonName="Void tickets">
<RunCommand>*HTI</RunCommand>
<GetString VarName="UnvoidedTicketNumbers"><![CDATA[(?!.*\/VOID)\/(\d{13})\/-[A- Z]{3}\/]]></GetString>
<CheckListBox Question="Select tickets you want to void" ToolTip="" Width="200" SelectDefaultAll="False" VarName="SelectedTicketsForVoid" IsRadioButton="False" SingleSelect="False" IsMandatory="False">[UnvoidedTicketNumbers]
</CheckListBox>
<ForEach>
<ElementsList>[SelectedTicketsForVoid]</ElementsList>
<Action>
<RunCommand>TRV/[@]</RunCommand>
<RunCommand>IR</RunCommand>
</Action>
</ForEach>
<RunCommand>*HTI</RunCommand>
</ButtonConf>

Cet exemple :
-
Lit tous les numéros PNR et PCC à partir d’un fichier Excel pour créer une collection de clés Value**.
-
Ouvre chaque PNR de la liste.
-
Envoie la réservation au PCC correspondant.
<ButtonConf ButtonName="Sending PNRs to Q" Description="" QuickCommand="">
<ReadFromExcel VarName="PNRNumbersAndPCCs" ExcelPath="C:\Documents\PNRs.xlsx" SheetName="PNRs1" ReadBy="Column" Column="A" Row="3:" ColumnKey="B" />
<ForEach>
<ElementsList>[PNRNumbersAndPCCs]</ElementsList>
<Action>
<RunCommand>*[@Value]</RunCommand>
<RunCommand>QEB/[@Key]/90</RunCommand>
</Action>
</ForEach>
</ButtonConf>

Dans cet exemple, il existe une collection de numéros de ligne téléphonique (2 ; 4; 5). Vous souhaitez effectuer la même action (annuler) pour chaque élément de ligne téléphonique.
À l’intérieur de l’élément <ForEach>, vous devez utiliser un élément enfant <Action> pour définir l’action que vous souhaitez effectuer dans chaque boucle. Vous pouvez définir des actions pour les collections simples ainsi que pour les collections de clés Value**.
Remarque : [@] signifie la valeur de l’élément courant dans la boucle.
<ButtonConf ButtonName="Canceling Phone Numbers" Description="" QuickCommand="">
<Variable VarName="PhoneLineNumbers">2;4;5</Variable>
<ForEach>
<ElementsList>[PhoneLineNumbers]</ElementsList>
<Action>
<RunCommand>P.[@]@</RunCommand>
</Action>
</ForEach>
</ButtonConf>
ForLoop
Instruction de flux de contrôle permettant de parcourir des éléments un nombre spécifique de fois. En d’autres termes, une boucle For dit essentiellement de faire cet ensemble de code x fois.
<ForEach>
<ForStatement StartNumber="" EndNumber="" Step="" />
<Action></Action>
</ForEach>

Cet exemple :
-
Compte le nombre de passagers dans un PNR (VarName="PaxCount).
-
Pose une question sur la date de naissance (DOB) de chaque passager dans le PNR.
-
Ajoute la date de naissance en tant que remarque du nom passager.
Créez une boucle ForLoop avec un StartNumber de « 1 » et un EndNumber avec la variable Numbers : [PaxCount].
<ButtonConf ButtonName="ForLOop" Description="" QuickCommand="">
<Variable VarName="PaxCount">%PassengersCount%</Variable>
<ForEach>
<ForStatement StartNumber="1" EndNumber="[PaxCount]" Step="1" />
<Action>
<QuestionsBlock SubmitButtonName="SUBMIT" WindowId="62f95aeb-3cb4-4004-b082-f15307006e50" Designer="True">
<TextBlock Bold="False" VarName="SBAuto_TextBlock_14eab76f-455d-4220-9d10-f311c8f1ab6b" X="10" Y="10">Enter Pax [@] DOB:</TextBlock>
<TextBox VarName="DOB" Width="100" TabIndex="0" X="140" Y="10"></TextBox>
</QuestionsBlock>
<RunCommand>N.P[@]@*DOB[DOB]</RunCommand>
</Action>
</ForEach>
</ButtonConf>
Boîte de dialogue pour la date de naissance :
Date de naissance ajoutée au PNR :